/**
 * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Autogenerated file -- DO NOT EDIT!

% instructions = Panda::instructions.select{ |b| b.namespace == "ets" && b.intrinsic_name }
% if instructions.first
%   instructions = instructions.group_by(&:intrinsic_name)
% end
% lowerings = [["ets.ldobj.name", "VisitEtsLdObjByName"],
%              ["ets.stobj.name", "VisitEtsStObjByName"],
%              ["ets.equals",     "VisitEtsEquals"]
%             ]
% instructions.each do |intrinsic_name, group|
%     inst = group.first
%     lowering = lowerings.detect{ |l| inst.sig.start_with?(l[0]) }
%     next unless lowering
%     params_arr = inst.operands
%     if inst.intrinsic_name.class == Array
%       inst.intrinsic_name.each do | intrinsic_name |
        case compiler::RuntimeInterface::IntrinsicId::<%= intrinsic_name %>:
%       end
%     else
        case compiler::RuntimeInterface::IntrinsicId::<%= intrinsic_name %>:
%     end
        {
            BytecodeGen::<%= lowering[1] %>(enc, inst);
            break;
        }
% end
